package com.koron.order.application.bean.po;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.bean.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 检修申请工单(Application)表实体类
 *
 * @author jzp
 * @since 2021-09-27
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "检修申请工单", description = "Application")
public class Application extends BaseBean {

    /**
     * 检修申请工单编码
     */
    @ApiModelProperty("检修申请工单编码")
    private String code;

    /**
     * 检修申请工单标题
     */
    @ApiModelProperty("检修申请工单标题")
    private String title;

    /**
     * 关联工单id
     */
    @ApiModelProperty("关联工单id")
    private String orderId;

    /**
     * 关联工单编号
     */
    @ApiModelProperty("关联工单编号")
    private String orderCode;

    /**
     * 关联工单类型
     */
    @ApiModelProperty("关联工单类型")
    private String orderCategory;

    /**
     * 检修类型
     */
    @ApiModelProperty("检修类型，数据字典：order_application_orderType")
    private String orderType;

    /**
     * 设备管理单位ID
     */
    @ApiModelProperty("设备管理单位ID")
    private String deptManage;

    /**
     * 设备管理单位名称
     */
    @ApiModelProperty("设备管理单位名称")
    private String deptManageName;

    /**
     * 预计开始时间
     */
    @ApiModelProperty("预计开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date startTime;

    /**
     * 预计结束时间
     */
    @ApiModelProperty("预计结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date endTime;

    /**
     * 检修内容
     */
    @ApiModelProperty("检修内容")
    private String context;

    /**
     * 系统影响
     */
    @ApiModelProperty("系统影响")
    private String influence;

    /**
     * 工单状态
     */
    @ApiModelProperty("工单状态，数据字典：order_application_status")
    private Integer status;

    @ApiModelProperty("设备信息")
    List<ApplicationEquipment> equipmentList;

}
